#ifndef MAINWINDOW_H
#define MAINWINDOW_H


#include <campaign.h>
#include <dtwentymodel.h>


#include <QMainWindow>


namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT
    
public:

    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();


protected:

    bool closeCampaign();
    void updateTabs();
    void refreshTabs();


private slots:

    void on_actionNew_triggered();

    void on_actionOpen_triggered();

    void on_actionSave_As_triggered();

    void on_actionSave_triggered();

    void on_actionQuit_triggered();


    // is this needed?
    void on_tabWidget_currentChanged(int index);

    void on_actionAdd_Special_Ability_triggered();

    void on_actionAdd_Skill_triggered();

    void on_actionAdd_Character_Class_triggered();

    void on_actionDelete_triggered();

private:

    Ui::MainWindow *ui;

    Campaign* m_campaign;

    QString m_fileName;
};

#endif // MAINWINDOW_H
